Saitek (Normal User)
Rookie
Messaggi: 31
Iscritto: 23/02/2008
|
L'altro problema che vi pongo è questo.
Devo scrivere uno script che "cerca" all'interno di sitiweb ed elenchi i risultati trovati ad esempio in una list sottoforma di url in modo che uno ci clicchi.
Ad esempio mettiamo che ci siano 3 siti che trattano di...uhm...telefonia ad esempio.
Che hanno al loro interno i rispettivi motori di ricerca per cercare i cellulari e i rispettivi prezzi.
Io voglio creare un programma che si connetta e cerchi ciò che un utente inserisce in una textbox dentro tutti e 3 i siti ed elenchi i links (esempio).
Capito?
Il problema sta tutto nella ricerca...come faccio a stabilire una connessione che ricerchi nel sito? devo sfruttare il db? help grazie
|
|
P4p3r0g4 (Member)
Guru
Messaggi: 1319
Iscritto: 29/12/2006
|
direi che non e` un problema ma + un programma.
spezza il problema e partiamo dalla base.
come hai intenzione di fare questo? sorgenti? webbroser? fusioni di script? winsock(scherzo)
poi non e` che tutti i siti hanno gli stessi format non esiste un metodo che lo faccia a priori.
|
|
Saitek (Normal User)
Rookie
Messaggi: 31
Iscritto: 23/02/2008
|
Allora, io vorrei semplicmente strutturare il programma con un semplice form con un text box nel quale l'user inserisce la parola da cercare che viene ricercata in più siti web e i risultati elencati in un'apposito spazio che sia una listbox o qualunque altra cosa.
Capito cosa intendo fare?
Lo so che non è facile.
NON voglio fare un browser tipo con
Codice sorgente - presumibilmente Plain Text |
e quelle funzioni li, perchè allora farei un browser e sarebbe moooolto più semplice.
Inzomma...non ho la minima idea da dove partire.
Proprio non so neppure che funzioni usare.
|
|
P4p3r0g4 (Member)
Guru
Messaggi: 1319
Iscritto: 29/12/2006
|
guardati l'inet. ti da il sorgente della pagine tu limiti il sorgente ai risultati e li scomponi facendo una analisi dei tag. e` difficile ma potrest farcela.
|
|
Saitek (Normal User)
Rookie
Messaggi: 31
Iscritto: 23/02/2008
|
uhm...l'inet l'avevo usato una volta per collegamento ftp con un codice tipo così
Codice sorgente - presumibilmente VB.NET |
Private Sub Command3_Click() Dim ftpurl As String Dim name As String name = List1.Text asd = "nickname" lol = "passwd" ftpurl = "ftp://sito.asd.org" Inet1.URL = ftpurl Inet1.UserName = asd Inet1.Password = lol Inet1.Execute Inet1.URL, "PUT C:\'name'" & name Do While Inet1.StillExecuting = True DoEvents Loop End Sub
|
Come lo dovrei usare in questo caso?
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
Basta fare così:
Codice sorgente - presumibilmente VB.NET |
Private Sub Command1_Click() Text1.Text = Inet1.OpenURL("http://www.google.it") End Sub
|
|
|
Saitek (Normal User)
Rookie
Messaggi: 31
Iscritto: 23/02/2008
|
wa!
Inizio a capire cosa ha in mente P4p3r0g4...
allora...però ci sono un mare di problemi
CIoè non capisco bene come questa funzione possa tornarmi utile...cioè...finchè è google che basta prendere sta stringa
http://www.google.it/search?hl=it&q=
Ma poi bisogna tenere conto che io vorrei cercare in più siti, almeno in 3 (sarebbe il mio progetto) e come faccio a fare arrivare 3 sorgenti diversi contemporaneamente quando l'utente clicca su command1, isolare i risultati (non so proprio come XD) e inserirli in una listbox...è...un suicidio
Cioè iniziando con un sito solo, praticamente io dovrei dire al programma di prendere solo una parte del sorgente che mi arriva e metterlo (possibilmente però sempre sottoforma di link) in una listbox o qualcosa anche in una textbox o in un label...:O come faccio, non è che le mie conoscenze di vb siano elevatissime ._.
EDIT:
Googlando ho trovato due script forse utili per isolare i links:
Codice sorgente - presumibilmente VB.NET |
Sub IdentifyLinks(ByVal htmlText As String) Dim hrefRegex As New Regex( _ "<A[^>]*?HREF\s*=\s*""([^""]+)""[^>]*?>([\s\S]*?)<\/A>", _ RegexOptions.IgnoreCase) Dim output As String = "" For Each m As Match In hrefRegex.Matches(htmlText) output &= "Link label: " & m.Groups(2).Value & vbCrLf output &= "Link destination: " & m.Groups(1).Value & vbCrLf Next MsgBox(output) End Sub
|
E questa:
Codice sorgente - presumibilmente VB.NET |
Sub DumpHrefs(inputString As String) Dim r As Regex Dim m As Match r = New Regex("href\s*=\s*(?:""(?<1>[^""]*)""|(?<1>\S+))", _ RegexOptions.IgnoreCase Or RegexOptions.Compiled) m = r.Match(inputString) While m.Success Console.WriteLine("Found href " & m.Groups(1).Value _ & " at " & m.Groups(1).Index.ToString()) m = m.NextMatch() End While End Sub
|
A grandi linee ho capito cosa fanno, specialmente la 2...però Ultima modifica effettuata da Saitek il 18/03/2008 alle 22:16 |
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
Allora per concatenare + sorgenti basta unirli con la & ad esempio:
Codice sorgente - presumibilmente VB.NET |
Private Sub Command1_Click() Text1.Text = Inet1.OpenURL("http://www.google.it") & Inet1.OpenURL("http://www.youtube.com") End Sub
|
Poi il resto non l'ho capito
|
|
P4p3r0g4 (Member)
Guru
Messaggi: 1319
Iscritto: 29/12/2006
|
non ho mai detto che fosse facile.
era solo l'IDEA piu` facile che mi fosse venuta in mente.
ps: studiati per bene la struttra del sito.
penso che ci sia la necessita` di una fusione di html php e vb6.
o meglio risalalire alla logica del php e ,analizzando l'html, generare con il vb6 i risultati.
|
|